1. Field of the Invention
The present invention relates to computer systems and the like, more particularly, it relates to a system and method for managing and accessing computer devices of a computer server system.
2. Description of Related Art
A computer platform can be designed with a variety of implementations/architectures that are either defined within existing standards (for example the PCI Industrial Computer Manufacturers Group, or PICMG, standards), or can be customized architectures. For example, a computer platform can be designed with a Compact Peripheral Component Interconnect (CPCI). The CPCI is a high performance industrial bus based on the standard PCI electrical specification in rugged 3U or 6U Eurocard packaging. CPCI is intended for application in telecommunications, computer telephony, real-time machine control, industrial automation, real-time data acquisition, instrumentation, military systems or any other application requiring high-speed computing, modular and robust packaging design, and long-term manufacturer support. Because of its high speed and bandwidth, the CPCI bus is particularly well suited for many high-speed data communication applications, such as for server applications.
Compared to a standard desktop PCI, a computer system having CPCI supports twice as many PCI slots (typically 8 versus 4) and offers an ideal packaging scheme for industrial applications. A CPCI computer system includes CPCI node cards that are designed for front loading and removal from a card chassis and a plurality of field replaceable units (FRUS)—such as fans, power supplies, etc. The CPCI node cards (or motherboards or front cards) include processing unit(s) for the computer system and are firmly held in position by their connector, card guides on both sides, and a faceplate that solidly screws into the card rack. The CPCI node cards are mounted vertically allowing for natural or forced air convection for cooling. Also, the pin-and-socket connector of the CPCI node card is significantly more reliable and has better shock and vibration characteristics than the card edge connector of the standard PCI node cards.
The CPCI computer system also includes at least one management controller (or micro-controller) for managing and accessing devices on the system. The management controller is coupled with a Central Processing Unit (CPU) of a node card and offloads certain management functions from the CPU of the node card. For example, certain management functions for the temperature, voltage, fans, power supplies, etc. of the system can be offloaded to the management controller. Typically, the management controller can be an Intelligent Platform Management Interface (IPMI) controller and/or an Inter Integrated Circuit (I2C) controller.
The node cards, having IPMI slave drivers, are managed and accessed by a CPU of a node card via the IPMI controller that receives notification of system management events and participates in the overall management infrastructure. The other hardware components (or the FRUs) having I2C slave drivers are managed and accessed by the CPU of the node card using the Inter Integrated Circuit (I2C) controller.
Due to its limited data transfers capabilities, the dedicated I2C controller is limited to applications on hardware components that require infrequent access and a small amount of data transfers. However, because of the low cost, there are advantages in using the I2C protocol and I2C slave drivers to manage and access certain hardware components, such as FRUs. It would also be highly beneficial not to have multiple controllers in a computer system having duplicative roles for managing and accessing devices on the computer systems.
Accordingly, it would be advantageous to provide a computer system (e.g., a CPCI computer system) that can reliably support I2C drivers using an IPMI controller and/or without having duplicative and multiple controllers on the computer system. It addition, it would be desirable during upgrading of the computer system that the upgraded computer system has a single controller (e.g., an IPMI controller) to save the cost of not having an extra and duplicative controller (e.g., an I2C controller) but can still use existing FRUs having I2C slave drivers. That is, it would be advantageous to preserve proper compatibility for the I2C slave drivers to minimize the engineering effort required to move over from an existing computer system to an IPMI controller computer system.